#include <stdio.h>
/**
 * 初识指针
 * 我们的电脑把内存分为一个个单元，一个单元室是一个字节
 * 为了有效的访问内存单元，给每个单元分配编号，这个编号就是地址
 * 存储地址，就需要指针变量
 */
int main() {
    int a=10;
    int *p=&a;//指针变量存放的是地址
    *p=20;//*p就是p指向的对象，也就是a，这里就可以直接修改a的值
    printf("%d\n",a);
    //%p是打印地址的格式
    printf("%p\n",&a);

    printf("=================\n");

    //指针变量的大小
    printf("%d\n", sizeof(int*));//8
    printf("%d\n", sizeof(char *));//8
    printf("%d\n", sizeof(long *));//8
    printf("%d\n", sizeof(double *));//8
    /**无论是什么指针类型，都是在创建指针变量，指针变量就是存放地址的
     * 所以指针变量的大小取决于一个地址的存放需要多大空间
     * 32位机器存放一个地址需要4个字节-32个比特位
     * 64位机器存放一个地址需要8个字节-64个比特位
    */

    return 0;
}
